package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.util.List;

import bean.Cliente;

import delegate.GestionCliente;

import servicio.ClienteService;
import ventanas.FIMantenimientoCliente;
import ventanas.JDRegistrarCliente;

public class ClienteController implements ActionListener{
	FIMantenimientoCliente mantenimientoCliente;
	JDRegistrarCliente registrarCliente;
	ClienteService servicio = GestionCliente.getClienteService();
	
	public ClienteController(FIMantenimientoCliente mantenimientoCliente){
		this.mantenimientoCliente = mantenimientoCliente;
	}
	
	public ClienteController(JDRegistrarCliente registrarCliente){
		this.registrarCliente = registrarCliente;
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		if(e.getSource()==mantenimientoCliente.getBuscar()){
			String codigo = mantenimientoCliente.getCodigo();	
			try {
				List<Cliente> clientes = servicio.buscarByPk(codigo);
				if(clientes.size()>0)
				mantenimientoCliente.cargarTabla(clientes);
			} catch (SQLException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
		}
		
		else if(e.getSource()==mantenimientoCliente.getSalir()){
			mantenimientoCliente.dispose();
		}

		else if(e.getSource()==mantenimientoCliente.getRegistrar()){
			registrarCliente  = new JDRegistrarCliente();
			registrarCliente.setVisible(true);
			registrarCliente.setControlador(this);		
		}
		
		else if(e.getSource()==registrarCliente.getGrabar()){
			Cliente cliente = new Cliente();
			cliente.setCodigo(registrarCliente.getCodigo());
			cliente.setNombre(registrarCliente.getNombre());
			cliente.setSituacion(registrarCliente.getSituacion());
			try {
				servicio.registrarCliente(cliente);
			} catch (SQLException e1) {
			
			}
		}
		else{
			
		}
	}

}
